package cn.sw.common.database.domain.vo.detail;

import cn.sw.common.database.architecture.entity.BaseEntity;
import cn.sw.common.database.domain.vo.vo.MenuVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.util.List;

/**
* Menu 表单
* @author 张众森 (个人博客:https://)
* @date 2025-05-09
* @tags 做一个优秀的全栈架构
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
public class MenuDetailVo extends BaseEntity {

    /**
    * 父菜单ID（根节点为0）
    */
    private String parentId;
    /**
    * 菜单名称
    */
    private String name;
    /**
    * 路由路径
    */
    private String url;
    /**
    * 类型 (0-目录 1-菜单 2-按钮)
    */
    private Byte type;
    /**
    * 图标
    */
    private String icon;
    /**
    * 排序
    */
    private Integer sort;
    /**
    * 权限标识（如 sys:user:list）
    */
    private String perms;
    /**
     * 组件名称
     */
    private String componentName;

    @ApiModelProperty("子菜单列表")
    private List<MenuVo> children;

}